package edu.nf.ch03.service;

import lombok.RequiredArgsConstructor;
import org.springframework.ai.chat.model.ChatModel;
import org.springframework.ai.chat.prompt.Prompt;
import org.springframework.ai.openai.OpenAiChatOptions;
import org.springframework.stereotype.Service;

/**
 * @author wangl
 * @date 2025/4/19
 */
@Service
@RequiredArgsConstructor
public class ChatModelService {

    /**
     * 注入对话模型
     */
    private final ChatModel chatModel;

    /**
     * 与大模型对话
     * @param prompt 用户提示词
     * @return 模型的回答
     */
    public String chat(String prompt) {
        return chatModel.call(prompt);
    }

    public String chat2(String prompt) {
        //构建提示词对象
        Prompt p = new Prompt(prompt,
                OpenAiChatOptions.builder()
                        //设置模型名称
                        .model("Qwen/Qwen2.5-72B-Instruct")
                        //设置温度
                        .temperature(0.7)
                        .build());
        //调用大模型并返回结果
        return chatModel.call(p).getResult().getOutput().getText();
    }
}